Developer(s) | Vasik Rajlich |
---|---|
Stable release | 4 / May 26, 2010[1] |
Operating system | Windows |
Type | Chess engine |
License | Proprietary |
Website | rybkachess.com |
Rybka is a computer chess engine designed by International Master Vasik Rajlich. As of February 2011[update], Rybka is one of the top-rated engines on chess engine rating lists[2][3][4][5][6] and has won many computer chess tournaments. Although Rybka won four consecutive World Computer Chess Championships from 2007 to 2010, it was stripped of these titles after an International Computer Games Association panel concluded in June 2011 that Rybka plagiarized code from both the Crafty and the Fruit chess engines.[7] Rybka supports both single processor and symmetric multiprocessing (SMP) systems.
Contents |
The word rybka, pronounced [ˈrɪpka], means little fish in Czech (and in many other Slavic languages) and Vasik Rajlich was once asked in an interview by Alexander Schmidt, "Did you choose the name Rybka because your program always slipped out of your hands like a little fish?" He replied, "As for the name Rybka - I am sorry but this will remain my private secret."[8] It is interesting to point out that the programmer's wife, Iweta Rajlich (Radziewicz), was born under an astrological sign of Pisces. Iweta Radziewicz was born in Poland and is still considered one of the strongest female chess players. The word rybka means exactly the same in the Polish and Czech languages. It is also known that Iweta was the main tester for the program.
Rybka 2.2n2 (which is available as a free download) has been claimed to be rated at 3110 Elo on four CPUs, and Rybka 3 is supposedly about 100 Elo stronger than 2.2n2.
On March 21, 2010, the latest SSDF rating list was released, with Deep Rybka 3 in first place in the rankings with a rating of 3227.
Rybka's search is considered one of its main advantages over rival programs while its efficient design as a bitboard engine lends it an extra 60% processing efficiency when run in 64-bit mode, yielding approximately 40 additional Elo.
Rybka is a closed-source program, but still some details have been revealed: Rybka uses a bitboard representation,[9] and is an alpha-beta searcher with a relatively large aspiration window.[10] It uses very aggressive pruning, leading to imbalanced search trees.[11] The details of the evaluation function are unknown, but since version 2.3.1 it has included work by GM Larry Kaufman on material imbalances, much of which was worked out in a series of papers in the 1990s.[12]
Several members of the Rybka team are strong chess players: Vasik Rajlich, the main author of Rybka is an International Master (IM). GM Larry Kaufman is the 2008 Senior Chess World Champion, and from version 2.3 through version 3 was in primary charge of the evaluation function. Iweta Rajlich, Vasik Rajlich's wife and the main Rybka tester is a Women's GM (WGM) and IM. Jeroen Noomen (who used to work on Rebel) and Dagh Nielsen were the authors of its opening book – the latter is one of the world's top freestyle chess players. Both are now less active, and Jiri Dufek is in charge of the book.
Vasik Rajlich started working on his chess program at the beginning of 2003. The first Rybka beta was released on December 2, 2005.
In January 2004, Rybka participated in the 6th Programmers Computer Chess Tournament (CCT6) event, placing 53rd out of 54 competers, losing 5 games, drawing 3, and beating the last-place finisher who had 0 points (Tohno). [13]
In April 2004, Rybka participated in Chess War V conducted by Olivier Deville, finishing 23rd in the D Division.[14]
In April 2004, Rybka participated in the Swiss System Season 3 by Claude Dubois, scoring 6 wins, 6 losses and 6 draws in the Top 200 to finish 71st.[15]
Rybka participated in Chess War VI finishing 42nd in the D Division.[16] Rybka participated in Chess War VII finishing 48th in the C Division.[17] Rybka participated in AEGT round 3, scoring 89 wins, 28 losses and 15 draws.[18]
Note: it is now alleged that the above Rybka versions participated illegally by containing code from Crafty. See Crafty controversy below.
In December 2005, Rybka participated in the 15th International Paderborn Computer Chess Championship. Rybka won the tournament with a score of 5½ points out of 7, ahead of other engines such as Gandalf, Zappa, Spike, Shredder and Fruit.
On CCT8 in February 2006, Rybka won with a score of 8 out of 9, going undefeated. In the April 2006 PAL/CSS Freestyle main tournament, an unaided Rybka 1.1 took first place. In the final tournament, Rybka 1.1 finished in second and third place, behind Hydra. In the 6th Leiden ICT in May 2006, Rybka won with a score of 8½ out of 9, ahead of Sjeng, Gandalf and Shredder. At the 14th World Computer Chess Championship in Turin, Italy in May 2006, Rybka, playing under the name Rajlich, finished second, tied with Shredder, after Junior, the winning 2006 World champion. In the June 2006 PAL/CSS Freestyle main tournament, the Rybka team, playing under the handle Rajlich, tied for first place with Intagrand. In the final, the Rybka team took clear first place, a point ahead of the field. All 8 qualifiers for to the final were Rybka users. In the 2006 Dutch open computer chess championship, Rybka 2.2 finished in first place with a perfect score of 9 out of 9. In December 2006, Rybka participated in the 16th International Paderborn Computer Chess Championship. Rybka won the tournament with a score of 6½ points out of 7.
In February 2007, Rybka participated in the CCT9 and won with 6/7. In the 7th Leiden ICT in May 2007, Rybka won with a score of 7½ out of 9, ahead of Zappa and HIARCS. Rybka won the 15th World Computer Chess Championship in June 2007 with a score of 10 out of 11. The Rybka team, playing under the handle Rajlich, won the June 2007 PAL/CSS Freestyle final with a score of 6/9. Later that year it won again the Dutch open computer chess championship, scoring 8/9.[19]
In January 2008, Rybka tied for first place in CCT10 with 5.5/7. In October 2008, Rybka won the 16th World Computer Chess Championship, held in Beijing, China, scoring 8/9. A month later Rybka won the 27th Open Dutch Computer Chess Championship, held in Leiden, scoring a perfect 9/9.[20]
In March 2009, Rybka won CCT11 with 7.5/9[21] and the 17th World Computer Chess Championship, held in Pamplona, Spain, with a score of 8/9.[22]
In May 2010, Rybka won the International Computer Chess Tournament in Leiden with 8/9.[23]
Whilst Rybka has won a match with GM Jaan Ehlvest which involved giving pawn odds to the human, GM Larry Kaufman of the Rybka team has pledged his own money to a human GM who can beat Rybka in a six-game match without material odds. GM Jaan Ehlvest was again chosen to play Rybka, getting twice the thinking time and white every match, with Rybka having only a three-move opening book, limited (512MB) hash size, and no endgame tablebases (the match being dubbed "Everything but a pawn"). The match ended 4.5-1.5 after three Rybka wins and three draws.[24]
In March 2007, Rybka played an eight-game match against GM Roman Dzindzichashvili with pawn and move odds, from March 3 to March 8. The result was 4-4, after two Rybka wins, four draws and two losses.[25]
In September 2008, Rybka played an odds match against Vadim Milov, its strongest opponent yet in an odds match. (Milov at the time had an Elo rating of 2705, 28th in the world). The result was a narrow victory to Milov: In two standard games (Milov played White, no odds), Milov lost the first game and drew the second one. Then they played two games at the classical "pawn and move" handicap (f7 removed). The first game ended in an early draw by perpetual check. The second game Milov won. Then they played four games at odds of the exchange (Rybka removed a1 rook, Milov b8 knight), here Rybka drew three times and lost once. Leaving the final score at 4.5-3.5 for Milov.[26]
In September 2007, Zappa defeated Rybka in a match, 5½-4½. A key game was the 180-move fourth game,[27] which was approaching a draw under the 50-move rule. However, due to a feature of the Rybka engine, at move 109 it moved a pawn to avoid a draw (even though Zappa could, and did, immediately take the pawn), thus resetting the counter for that rule. The loss of the pawn eventually allowed Zappa to whittle away Rybka's defenses and win the game.[28]
The match came about after Vasik Rajlich made a $100000 publicity challenge to the FIDE champion Fritz or Junior, even offering odds of a game in a 24 game match (13 points).[29] After Junior accepted, Convekta's head Sergey Abramov made excuses, and David Levy called it A Lost Opportunity.[30] After reducing the prize fund by 90% and the tour to 10 games, Zappa was able to accept. The match also featured the worst triple-??? blunder in recent computer chess history, with Rybka playing 71...f4 in a totally won position that allowed Zappa to transform to a drawn bishop endgame with opposite colors even though 3 pawns down.[31] Rybka lacked this basic knowledge of drawing patterns.
Rybka 3 was released on August 6, 2008.[32] While previous versions of Rybka were released exclusively by Convekta, Rybka 3 was released by both Chessbase and Convekta.[33] Although still a UCI engine, Rybka 3 has extra features when run under the ChessBase and Convekta user interfaces.[32] In an interview with Frank Quisinsky, Vasik Rajlich revealed plans for a future GUI that would "properly display chess knowledge to the user" most likely in the form of graphical evaluation of the pieces on the board. The GUI, named Aquarium, has been released by ChessOK (formerly known as Convekta).[34]
Chess960 support was implemented for the Chess Classic Mainz 2007, where Rybka subsequently won the computer Chess960 tournament.[35][36]
There were many general playing strength improvements, including multiprocessor performance improvements, increased search efficiency, and better position evaluation. Three engine styles are supported: optimum, human, and dynamic. The opening book is now sold as a separate product.[32] Chess engine rating lists which have already published results for Rybka 3 show it topping the rating lists ahead of the previous version of Rybka, sometimes by as much as 100 Elo points.[37]
The following features have been confirmed for future versions:
Rajlich has asserted that Rybka will continue to use open protocols, both for normal operations as well as for the data presented by the Rybka 3 GUI.
Vasik Rajlich has now released "Remote Rybka" which is a special version of Rybka (4+ or cluster) on very powerful hardware / clusters run by Lukas Cimiotti.[42] This can be rented for a specific period of time, though currently not less than 2 days due to overhead costs. Upon renting one has access to the Remote Rybka from one's PC, and all details of rentals are strictly private.
Information from the last video interview by Vasik Rajlich indicates Rybka 5 is scheduled to arrive anywhere between the end of 2011 and the first half of 2012.
In May 2007, a new chess engine called Strelka (Russian for "arrow") appeared on the scene, claimed to be written by Yuri Osipov. Soon, there were allegations that Strelka was a clone of Rybka 1.0 beta, in the sense that it was a reverse-engineered and slightly modified version of Rybka.[43] Several players found Strelka to yield identical analysis to Rybka in a variety of different situations, even having the same bugs and weaknesses in some cases. Osipov, however, stated repeatedly on discussion boards that Strelka was based on Fruit, not Rybka, and that any similarities was either because Rybka also was based on Fruit, or because he had tuned the evaluation function to be as close to Rybka as possible.[44][45]
With the release of Strelka 2.0 beta, source code was included. Rajlich stated that the source made it "obvious" that Strelka 2.0 beta was indeed a Rybka 1.0 beta clone, although not without some improvements in certain areas. On the basis of this, he claimed the source as his own and intended to re-release it under his own name,[46] although he later decided not to do so. He also made allegations that "Yuri Osipov" was a pen name.
According to Victor Zakharov (Convekta company) in his review for Arena chess website: "I consider that Yuri Osipov (Ivanovich) is real name. He didn't hide it. However I can't state this with 100% assurance." And he also has some contact with Yuri Osipov for development of mobile platforms chess program.[47]
However, Fruit author Fabien Letouzey has clearly expressed in the open letter mentioned above that Strelka 2.0 beta is a Fruit derivate with some minor changes.[48]
IPPOLIT, RobboLito, Igorrit, IvanHoe, FireBird and Fire are a series of strong open source chess programs, originally developed by a team of anonymous programmers who call themselves the Decembrists, after the Decembrist revolt.[49][50]
The chess engine IPPOLIT was released in May 2009 with its source code, but due to the policy of some chess forums not to publish material of "questionable legal status" (e.g. the Talkchess charter [51]) it remained relatively unknown until October 2009. Vasik Rajlich has stated[52] that IPPOLIT is a decompiled version of Rybka, and that the people involved kept him informed of their progress via email.[53] Currently there is only circumstantial evidence for this claim. No legal charges have been filed against any of the engines in the IPPOLIT series. Circumstantial evidence for the claim by Vasik Rajlich is provided by the fact that the source of IPPOLIT[54] resembles the output of a decompiler and furthermore the playing style of IPPOLIT and its derivatives is close to that of Rybka 3.[55] Finally some people have expressed doubts that a super strong chess engine like IPPOLIT could simply appear out of nowhere.[56]
Early private Rybka engines have been accused of being a clone of Crafty.[57] Vasik Rajlich has not responded to these allegations.
Rybka has been accused of being based on Fruit, but Rajlich has denied this categorically,[58] saying that Rybka is 100% original at the source code level. Further allegations of violating the GPL have been brought forward by chess programmer Zach Wegner based on a new decompilation effort and a one year study of the Rybka 1.0 executable.[59] Rajlich has since declined to respond to these allegations.[60] The Fruit author Fabien Letouzey has since appeared from a 5-year absence in January 2011 and published an open letter[48] asking for more information regarding Rybka and GPL violations.
The ICGA President David Levy has addressed the situation at ChessVibes and invoked a programmers forum to decide the merits.[61] The options include revoking all tournament victories of Rybka by Statute 3.h.iv.[62] Fourteen well-known chess programmers have since written an open letter to David Levy, Jaap van den Herik and the ICGA board stating that there is now "overwhelming evidence" that Rybka 1.0 beta (the first strong Rybka version) was directly derived from Fruit.[63]
On June 28, 2011, the International Computer Games Association (ICGA) concluded their investigation and determined that Vasik Rajlich in programming Rybka had plagiarized two other chess software programs: Crafty and Fruit.[64] According to ICGA, Vasik Rajlich failed to comply with the ICGA rule that each computer chess program must be the original work of the entering developer.[65] The ICGA regarded Vasik Rajlichs' alleged violation as the most serious offence that a chess programmer and ICGA member can commit with respect to his peers and to the ICGA.[66] The ICGA sanction for Vasik Rajlich and Rybka was the disqualification from the World Computer Chess Championship (WCCC) of 2006, 2007, 2008, 2009 and 2010.[67] Vasik Rajlich is banned for life from competing in the WCCC or any other event organized by or sanctioned by the ICGA.[68] In addition, the ICGA demanded that Vasik Rajlich return to the ICGA the four replicas of the Shannon Trophy presented at the WCCC in 2007, 2008, 2009 and 2010 and to return to the ICGA all prize money awarded for Rybka's performances in those events.[69]
Vasik Rajlich was interviewed by fan Nelson Hernandez, in which he responded to the ICGA's allegations in a statement, and answered questions about the controversy and his opinions on it.[70]